package com.xw.service.tool.aws;

import java.io.File;
import java.util.Map;

public interface AmazonawsService {
    /**
     * 查看所有可用的bucket
     */
    Map getAllBucket();

    /**
     * amazonS3文件上传
     * @param bucketName 保存到某个存储桶
     * @param key 保存文件的key （以key-value形式保存）
     * @param file 上传文件
     */
    Map amazonS3Upload(String bucketName,String key,File file);
    /**
     * amazonS3文件下载
     * @param bucketName 下载某个存储桶的数据
     * @param key 下载文件的key
     * @param targetFilePath 下载文件保存地址
     */
    void amazonS3Downloading(String bucketName,String key,String targetFilePath);

    /**
     * 文件删除
     * @param bucketName 删除文件所在存储桶
     * @param key 删除文件key
     */
    Map amazonS3DeleteObject(String bucketName,String key);

    /**
     * 删除存储桶
     * @param bucketName 需要删除的存储桶
     */
    Map amazonS3DeleteBucket(String bucketName);
}
